package com.boot;

import java.util.HashMap;
import java.util.Map;
import java.util.Optional;

/**
 * 用户类型枚举
 *
 * @author 张松伟
 * 2024年05月09日 下午16:56:50
 */
public enum UserTypeEnum {

    /**
     * 系统用户
     */
    SYSTEM("00"),

    /**
     * 商家端用户(一拙鲜平台用户)
     */
    YZX_PLATFORM("01"),

    /**
     * 城市仓用户(前置仓用户)
     */
    FRONT_WAREHOUSE("02"),

    /**
     * 小程序用户
     */
    MINI_PROGRAMS("04"),

    /**
     * 大屏机用户
     */
    BIG_SCREEN("05"),

    /**
     * 供货商用户
     */
    SUPPLIER("06"),

    /**
     * 07
     */
    FACTORY("07");

    /**
     * 用户类型（00系统用户，01 商家端用户，02城市仓用户，03旧版app报货用户（废弃），04小程序用户，05大屏机用户  06供货商用户  07 工厂端用户）
     */
    private String userType = "";

    private static final Map<String, UserTypeEnum> userTypeMap = new HashMap<String, UserTypeEnum>();
    static {
        for (UserTypeEnum value : UserTypeEnum.values()) {
            userTypeMap.put(value.getUserType(), value);
        }
    }
    UserTypeEnum(String userType) {
        this.userType = userType;
    }

    public String getUserType() {
        return userType;
    }

    public static UserTypeEnum getUserTypeEnum(String userType) {
        return Optional.ofNullable(userTypeMap.get(userType)).orElse(null);
    }

    public static void main(String[] args) {
        UserTypeEnum userTypeEnum = UserTypeEnum.getUserTypeEnum("07");
        System.out.println(userTypeEnum.getUserType());
    }

}
